# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Yoshi's Island Template

game: Yoshi's Island
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.
  game:
    Yoshi's Island: 1.0.0 # Version of the world required for this yaml to work as expected.

Yoshi's Island:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  starting_world:
    # This sets which world you start in. Other worlds can be accessed by receiving a Gate respective to that world.
    world_1: 50
    world_2: 0
    world_3: 0
    world_4: 0
    world_5: 0
    world_6: 0

  starting_lives:
    # This sets the amount of lives Yoshi will have upon loading the game.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 999
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-999: 0 # random value between 1 and 999

  goal:
    # This sets the goal. Bowser goal requires defeating Bowser at the end of 6-8, while Luigi Hunt requires collecting all required Luigi Pieces.
    bowser: 50
    luigi_hunt: 0

  luigi_pieces_required:
    # This will set how many Luigi Pieces are required to trigger a victory.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    25: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-100: 0 # random value between 1 and 100

  luigi_pieces_in_pool:
    # This will set how many Luigi Pieces are in the item pool.
    # If the number in the pool is lower than the number required,
    # the amount in the pool will be randomized, with the minimum being the amount required.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-100: 0 # random value between 1 and 100

  extras_enabled:
    # If enabled, the more difficult Extra stages will be added into logic. Otherwise, they will be inaccessible.
    'false': 50
    'true': 0

  minigame_checks:
    # This will set minigame victories to give Archipelago checks.
    # This will not randomize minigames amongst themselves, and is compatible with item logic.
    # Bonus games will be expected to be cleared from the Overworld, not the end of levels.
    # Additionally, 1-Up bonus games will accept any profit as a victory.
    none: 50
    bandit_games: 0
    bonus_games: 0
    both: 0

  split_extras:
    # If enabled, Extra stages will be unlocked individually. Otherwise, there will be a single 'Extra Panels' item that unlocks all of them.
    'false': 50
    'true': 0

  split_bonus:
    # If enabled, Bonus Games will be unlocked individually. Otherwise, there will be a single 'Bonus Panels' item that unlocks all of them.
    'false': 50
    'true': 0

  hidden_object_visibility:
    # This will determine the default visibility of objects revealed by the Magnifying Glass.
    # Strict Logic will expect the Secret Lens or a Magnifying Glass to interact with hidden clouds containing stars if they are not set to visible by default.
    none: 0
    coins_only: 50
    clouds_only: 0
    full: 0

  add_secretlens:
    # If enabled, the Secret Lens will be added to the item pool.
    # The Secret Lens will act as a permanent Magnifying Glass.
    'false': 50
    'true': 0

  shuffle_midrings:
    # If enabled, Middle Rings will be added to the item pool.
    'false': 50
    'true': 0

  stage_logic:
    # This determines what logic mode the stages will use.
    # Strict: Best for casual players or those new to playing Yoshi's Island in AP. Level requirements won't expect anything too difficult of the player.
    # Loose: Recommended for veterans of the original game. Won't expect anything too difficult, but may expect unusual platforming or egg throws.
    # Expert: Logic may expect advanced knowledge or memorization of level layouts, as well as jumps the player may only have one chance to make without restarting.
    strict: 50
    loose: 0
    expert: 0

  item_logic:
    # This will enable logic to expect consumables to be used from the inventory in place of some major items.
    # Logic will expect you to have access to an Overworld bonus game, or a bandit game to get the necessary items.
    # Logic will NOT expect grinding end-of-level bonus games, or any inventory consumables received from checks.
    # Casual logic will only expect consumables from Overworld games; Loose and Expert may expect them from bandit games.
    'false': 50
    'true': 0

  disable_autoscroll:
    # If enabled, will disable autoscrolling during levels, except during levels which cannot function otherwise.
    'false': 50
    'true': 0

  softlock_prevention:
    # If enabled, hold R + X to warp to the last used Middle Ring, or the start of the level if none have been activated.
    'false': 0
    'true': 50

  castle_open_condition:
    # This sets how many bosses need to be defeated to access 6-8.
    # You can check this in-game by pressing SELECT while in any level.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 11
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-11: 0 # random value between 0 and 11

  castle_clear_condition:
    # This sets how many bosses need to be defeated to access the boss of 6-8.
    # You can check this in-game by pressing SELECT while in any level.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 11
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-11: 0 # random value between 0 and 11

  bowser_door_mode:
    # This will set which route you take through 6-8.
    # Manual: You go through the door that you hit with an egg, as normal.
    # Doors: Route will be forced to be the door chosen here, regardless of which door you hit.
    # Gauntlet: You will be forced to go through all 4 routes in order before the final hallway.
    manual: 50
    door_1: 0
    door_2: 0
    door_3: 0
    door_4: 0
    gauntlet: 0

  level_shuffle:
    # Disabled: All levels will appear in their normal location.
    # Bosses Guaranteed: All worlds will have a boss on -4 and -8.
    # Full: Worlds may have more than 2 or no bosses in them.
    # Regardless of the setting, 6-8 and Extra stages are not shuffled.
    disabled: 50
    bosses_guaranteed: 0
    full: 0

  boss_shuffle:
    # This whill shuffle which boss each boss door will lead to. Each boss can only appear once, and Baby Bowser is left alone.
    'false': 50
    'true': 0

  yoshi_colors:
    # Sets the Yoshi color for each level.
    # Normal will use the vanilla colors.
    # Random order will generate a random order of colors that will be used in each level. The stage 1 color will be used for Extra stages, and 6-8.
    # Random color will generate a random color for each stage.
    # Singularity will use a single color defined under 'Singularity Yoshi Color' for use in all stages.
    normal: 50
    random_order: 0
    random_color: 0
    singularity: 0

  yoshi_singularity_color:
    # Sets which color Yoshi will be if Yoshi Colors is set to singularity.
    green: 50
    pink: 0
    cyan: 0
    yellow: 0
    purple: 0
    brown: 0
    red: 0
    blue: 0

  baby_mario_sound:
    # Change the sound that Baby Mario makes when not on Yoshi.
    normal: 50
    disabled: 0
    random_sound_effect: 0

  traps_enabled:
    # Will place traps into the item pool.
    # Traps have a variety of negative effects, and will only replace filler items.
    'false': 50
    'true': 0

  trap_percent:
    # Percentage of the item pool that becomes replaced with traps.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
